Skip to main content

Fees

Caller Fees

Since subscriptions are an open ended obligation of the subscriber with no end date unless cancelled, there must be a method of extracting fees from either the subscriber or the provider on an ongoing basis. But how is this done?

As described in failed transactions the best way to pay fees to the caller is by having a reserve of ERC-20 tokens per subscriber per subscription. This reserve serves the dual purpose of both paying the caller fees for the periodic remittance of transactions and disincentivizing actions contrary to the protocol.

What is the amount of the caller fee?

Currently the caller fee is different based upon the average gas levels of the chain the contract is on. The fee can be adjusted by the protocol. The fees currently are as follows:

ChainCaller FeeSystem FeeTotal Fee
Base Sepolia0.25%0.25%0.5%

Caller Fee Reserve

When is it filled?

The reserve for subscribers is filled at two points in time:

  1. When a user first subscribes
  2. When a user's reserve becomes less than the caller fee

Is it the same amount for each subscription?

The reserve is filled at different amounts based upon the frequency of the subscription and whether this is the first time the user has subscribed:

When the user first subscribes
FrequencyMinimumIn BetweenMaximumMaximum Time Charged
WeeklyCaller FeeProratedProratedProrated
MonthlyCaller FeeProrated1/4 AmountA weeks worth
QuarterlyCaller FeeProrated1/12 AmountA weeks worth
YearlyCaller FeeProrated1/12 AmountA months worth
Subsequent fees
FrequencyAmount reservedMaximum Time Charged
WeeklyFull AmountA week
Monthly1/4 AmountA week
Quarterly1/12 AmountA week
Yearly1/12 AmountA month

How are refunds processed?

Depending on the reason for the refund the is sent to different locations based on the following table:

InitiatorActionAmountRefunds Sent to
SubscriberFail due to ApprovalPartial Caller / Partial ProviderCaller / Provider
SubscriberFail due to low fundsPartial Caller / Partial ProviderCaller / Provider
SubscriberUnsubscribesAll remainingProvider
ProviderProvider unsubscribers subscriberAll remainingSubscriber
ProviderCancels overall subscriptionAll remaining on all subscribersSubscribers

System Fees

The protocol has the ability to require system fees in order to fund the eventual ongoing development of the protocol.